<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>数组</title>
</head>

<body>
    <script>
        //声明数组
        // var arr=[10,20,30,40,50];
        // //获取数组元素
        // // console.log(arr[0]);
        // // console.log(arr[1]);
        // //使用for循环遍历数组
        // for(i=0;i<arr.length;i++){
        //     console.log(arr[i]);
        // }
        // //数组的length属性记录了数组元素的个数
        // console.log(arr.length);


        //统计数组中元素为偶数的个数
        // //1.声明数组
        // var datas=[3,5,6,8,14,25,43,33];
        // //2.设置个数初始值为0
        // var count=0;
        // //3.遍历数组，统计偶数个数
        // for(i = 0; i < datas.length ;i++){
        //     if(datas[i]%2==0){
        //         count++;
        //     }
        // }
        // //4.输出个数
        // console.log(count);


        //7,11,18,20,12,14,99,15
        //计算出是3的倍数的和
        //声明数组
        var arr = [7, 11, 18, 20, 12, 14, 99, 15];
        //设置倍数和为0
        var sum = 0;
        //遍历数组
        for (i = 0; i < arr.length; i++) {
            if (arr[i] % 3 == 0) {
                sum += arr[i];
            }
        }
        console.log(sum);

        //计算出能被3和5都整除的元素的个数
        // //声明数组
        // var arr=[7,11,18,20,12,14,99];
        //设置个数为0
        var count = 0;
        //遍历数组
        for (i = 0; i < arr.length; i++) {
            if (arr[i] % 3 == 0 && arr[i] % 5 == 0) {
                count++;
            }
        }
        console.log(count);


        //查找数组中的最大值
        var arr = [7, 11, 18, 20, 12, 14, 99, 15]
        //初始化最大值:设第一个为最大值
        var max = arr[0];
        //遍历数组，使用max记录最大值
        for (var i = 1; i < arr.length; i++) {
            if (arr[i] > max) {
                max = arr[i];
            }
        }
        //输出最大值
        console.log(max);


        //查找数组中指定数据 ---折半查找
        var datas = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];
        var min = 0, max = datas.length - 1;
        var target = parseInt(prompt('请输入目标数据'));
        //小下标小于等于大下标，未找完，继续找
        while (min <= max) {
            //计算中间位置下标
            var mid = parseInt((min + max) / 2);
            //中间位置数据与目标数据相等：跳出循环
            if (datas[mid] == target) {
                break;
            } else if (datas[mid] > target) {
                max = mid - 1;//中间值大于目标值，中间标识位置向左移动一位，并赋予给大下标
            } else {
                min = mid + 1;//中间值大于目标值，中间标识位置向右移动一位，并赋予给小下标
            }
        }
        if (min <= max) {
            console.log(mid + 1);
        } else {
            console.log('none');
        }

    </script>
</body>

</html>